package com.demo.jzoffer2;

import com.demo.domain.ListNode;
import org.junit.Test;

/**
 * @author gy
 * @date 2022/11/15
 */
public class Test1230_01 {

    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        // 初始化辅助链表，用于存储最终的结果
        ListNode dum = new ListNode(0),cur = dum;
        // 双链表都不为空的时候，进行比较插入排序
        while (l1 != null && l2 != null) {
            // 从小到大排序，双指针，哪个值小；辅助链表指针指向谁
            if (l1.val < l2.val){
                cur.next = l1;
                l1 = l1.next; // 指针后移
            }else {
                cur.next = l2;
                l2 = l2.next; // 指针后移
            }
            cur = cur.next; // 指针后移
        }
        // 用于指向剩余的链表（l1 或 l2 任意一个为空就会跳出循环）
        cur.next = l1 != null ? l1 : l2;
        return dum.next;
    }


    @Test
    public void m1() {

    }

    @Test
    public void m2(){

    }

}
